//
// 此文件是由 JavaTM Architecture for XML Binding (JAXB) 引用实现 v2.2.8-b130911.1802 生成的
// 请访问 <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// 在重新编译源模式时, 对此文件的所有修改都将丢失。
// 生成时间: 2018.03.24 时间 04:36:04 AM CST
//

package com.jghz.transfer.entity.cashFlow;

import java.util.ArrayList;
import java.util.List;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElements;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;

/**
 * <p>
 * anonymous complex type的 Java 类。
 *
 * <p>
 * 以下模式片段指定包含在此类中的预期内容。
 *
 * <pre>
 * &lt;complexType>
 *   &lt;complexContent>
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       &lt;choice maxOccurs="unbounded" minOccurs="0">
 *         &lt;element name="Header">
 *           &lt;complexType>
 *             &lt;complexContent>
 *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                 &lt;sequence>
 *                   &lt;element name="MessageReferenceNumber" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *                   &lt;element name="DocumentName" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *                   &lt;element name="DocumentVersionNumber" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *                   &lt;element name="SenderCode" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *                   &lt;element name="RecipientCode" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *                   &lt;element name="MessageSendingDateTime" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *                   &lt;element name="MessageFunctionCode" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *                 &lt;/sequence>
 *               &lt;/restriction>
 *             &lt;/complexContent>
 *           &lt;/complexType>
 *         &lt;/element>
 *         &lt;element name="Body">
 *           &lt;complexType>
 *             &lt;complexContent>
 *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                 &lt;sequence>
 *                   &lt;element name="DocumentNumber" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *                   &lt;element name="Carrier" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *                   &lt;element name="VehicleNumber" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *                   &lt;element name="LicensePlateTypeCode" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *                   &lt;element name="ShippingNoteList" maxOccurs="unbounded" minOccurs="0">
 *                     &lt;complexType>
 *                       &lt;complexContent>
 *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                           &lt;sequence>
 *                             &lt;element name="ShippingNoteNumber" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *                             &lt;element name="Remark" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *                           &lt;/sequence>
 *                         &lt;/restriction>
 *                       &lt;/complexContent>
 *                     &lt;/complexType>
 *                   &lt;/element>
 *                   &lt;element name="Financiallist" maxOccurs="unbounded" minOccurs="0">
 *                     &lt;complexType>
 *                       &lt;complexContent>
 *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                           &lt;sequence>
 *                             &lt;element name="PaymentMeansCode" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *                             &lt;element name="BankCode" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *                             &lt;element name="SequenceCode" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *                             &lt;element name="MonetaryAmount" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *                             &lt;element name="DateTime" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *                           &lt;/sequence>
 *                         &lt;/restriction>
 *                       &lt;/complexContent>
 *                     &lt;/complexType>
 *                   &lt;/element>
 *                 &lt;/sequence>
 *               &lt;/restriction>
 *             &lt;/complexContent>
 *           &lt;/complexType>
 *         &lt;/element>
 *       &lt;/choice>
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 *
 *
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = { "headerOrBody" })
@XmlRootElement(name = "Root")
public class Root {

	@XmlElements({ @XmlElement(name = "Header", type = Root.Header.class),
			@XmlElement(name = "Body", type = Root.Body.class) })
	protected List<Object> headerOrBody;

	/**
	 * Gets the value of the headerOrBody property.
	 * 
	 * <p>
	 * This accessor method returns a reference to the live list, not a
	 * snapshot. Therefore any modification you make to the returned list will
	 * be present inside the JAXB object. This is why there is not a
	 * <CODE>set</CODE> method for the headerOrBody property.
	 * 
	 * <p>
	 * For example, to add a new item, do as follows:
	 * 
	 * <pre>
	 * getHeaderOrBody().add(newItem);
	 * </pre>
	 * 
	 * 
	 * <p>
	 * Objects of the following type(s) are allowed in the list
	 * {@link Root.Header } {@link Root.Body }
	 * 
	 * 
	 */
	public List<Object> getHeaderOrBody() {
		if (headerOrBody == null) {
			headerOrBody = new ArrayList<Object>();
		}
		return this.headerOrBody;
	}

	/**
	 * <p>
	 * anonymous complex type的 Java 类。
	 * 
	 * <p>
	 * 以下模式片段指定包含在此类中的预期内容。
	 * 
	 * <pre>
	 * &lt;complexType>
	 *   &lt;complexContent>
	 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
	 *       &lt;sequence>
	 *         &lt;element name="DocumentNumber" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
	 *         &lt;element name="Carrier" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
	 *         &lt;element name="VehicleNumber" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
	 *         &lt;element name="LicensePlateTypeCode" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
	 *         &lt;element name="ShippingNoteList" maxOccurs="unbounded" minOccurs="0">
	 *           &lt;complexType>
	 *             &lt;complexContent>
	 *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
	 *                 &lt;sequence>
	 *                   &lt;element name="ShippingNoteNumber" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
	 *                   &lt;element name="Remark" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
	 *                 &lt;/sequence>
	 *               &lt;/restriction>
	 *             &lt;/complexContent>
	 *           &lt;/complexType>
	 *         &lt;/element>
	 *         &lt;element name="Financiallist" maxOccurs="unbounded" minOccurs="0">
	 *           &lt;complexType>
	 *             &lt;complexContent>
	 *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
	 *                 &lt;sequence>
	 *                   &lt;element name="PaymentMeansCode" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
	 *                   &lt;element name="BankCode" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
	 *                   &lt;element name="SequenceCode" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
	 *                   &lt;element name="MonetaryAmount" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
	 *                   &lt;element name="DateTime" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
	 *                 &lt;/sequence>
	 *               &lt;/restriction>
	 *             &lt;/complexContent>
	 *           &lt;/complexType>
	 *         &lt;/element>
	 *       &lt;/sequence>
	 *     &lt;/restriction>
	 *   &lt;/complexContent>
	 * &lt;/complexType>
	 * </pre>
	 * 
	 * 
	 */
	@XmlAccessorType(XmlAccessType.FIELD)
	@XmlType(name = "", propOrder = { "documentNumber", "carrier", "vehicleNumber", "licensePlateTypeCode",
			"shippingNoteList", "financiallist" })
	public static class Body {

		@XmlElement(name = "DocumentNumber")
		protected String documentNumber;
		@XmlElement(name = "Carrier")
		protected String carrier;
		@XmlElement(name = "VehicleNumber")
		protected String vehicleNumber;
		@XmlElement(name = "LicensePlateTypeCode")
		protected String licensePlateTypeCode;
		@XmlElement(name = "ShippingNoteList")
		protected List<Root.Body.ShippingNoteList> shippingNoteList;
		@XmlElement(name = "Financiallist")
		protected List<Root.Body.Financiallist> financiallist;

		/**
		 * 获取documentNumber属性的值。
		 * 
		 * @return possible object is {@link String }
		 * 
		 */
		public String getDocumentNumber() {
			return documentNumber;
		}

		/**
		 * 设置documentNumber属性的值。
		 * 
		 * @param value
		 *            allowed object is {@link String }
		 * 
		 */
		public void setDocumentNumber(String value) {
			this.documentNumber = value;
		}

		/**
		 * 获取carrier属性的值。
		 * 
		 * @return possible object is {@link String }
		 * 
		 */
		public String getCarrier() {
			return carrier;
		}

		/**
		 * 设置carrier属性的值。
		 * 
		 * @param value
		 *            allowed object is {@link String }
		 * 
		 */
		public void setCarrier(String value) {
			this.carrier = value;
		}

		/**
		 * 获取vehicleNumber属性的值。
		 * 
		 * @return possible object is {@link String }
		 * 
		 */
		public String getVehicleNumber() {
			return vehicleNumber;
		}

		/**
		 * 设置vehicleNumber属性的值。
		 * 
		 * @param value
		 *            allowed object is {@link String }
		 * 
		 */
		public void setVehicleNumber(String value) {
			this.vehicleNumber = value;
		}

		/**
		 * 获取licensePlateTypeCode属性的值。
		 * 
		 * @return possible object is {@link String }
		 * 
		 */
		public String getLicensePlateTypeCode() {
			return licensePlateTypeCode;
		}

		/**
		 * 设置licensePlateTypeCode属性的值。
		 * 
		 * @param value
		 *            allowed object is {@link String }
		 * 
		 */
		public void setLicensePlateTypeCode(String value) {
			this.licensePlateTypeCode = value;
		}

		/**
		 * Gets the value of the shippingNoteList property.
		 * 
		 * <p>
		 * This accessor method returns a reference to the live list, not a
		 * snapshot. Therefore any modification you make to the returned list
		 * will be present inside the JAXB object. This is why there is not a
		 * <CODE>set</CODE> method for the shippingNoteList property.
		 * 
		 * <p>
		 * For example, to add a new item, do as follows:
		 * 
		 * <pre>
		 * getShippingNoteList().add(newItem);
		 * </pre>
		 * 
		 * 
		 * <p>
		 * Objects of the following type(s) are allowed in the list
		 * {@link Root.Body.ShippingNoteList }
		 * 
		 * 
		 */
		public List<Root.Body.ShippingNoteList> getShippingNoteList() {
			if (shippingNoteList == null) {
				shippingNoteList = new ArrayList<Root.Body.ShippingNoteList>();
			}
			return this.shippingNoteList;
		}

		/**
		 * Gets the value of the financiallist property.
		 * 
		 * <p>
		 * This accessor method returns a reference to the live list, not a
		 * snapshot. Therefore any modification you make to the returned list
		 * will be present inside the JAXB object. This is why there is not a
		 * <CODE>set</CODE> method for the financiallist property.
		 * 
		 * <p>
		 * For example, to add a new item, do as follows:
		 * 
		 * <pre>
		 * getFinanciallist().add(newItem);
		 * </pre>
		 * 
		 * 
		 * <p>
		 * Objects of the following type(s) are allowed in the list
		 * {@link Root.Body.Financiallist }
		 * 
		 * 
		 */
		public List<Root.Body.Financiallist> getFinanciallist() {
			if (financiallist == null) {
				financiallist = new ArrayList<Root.Body.Financiallist>();
			}
			return this.financiallist;
		}

		/**
		 * <p>
		 * anonymous complex type的 Java 类。
		 * 
		 * <p>
		 * 以下模式片段指定包含在此类中的预期内容。
		 * 
		 * <pre>
		 * &lt;complexType>
		 *   &lt;complexContent>
		 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
		 *       &lt;sequence>
		 *         &lt;element name="PaymentMeansCode" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
		 *         &lt;element name="BankCode" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
		 *         &lt;element name="SequenceCode" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
		 *         &lt;element name="MonetaryAmount" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
		 *         &lt;element name="DateTime" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
		 *       &lt;/sequence>
		 *     &lt;/restriction>
		 *   &lt;/complexContent>
		 * &lt;/complexType>
		 * </pre>
		 * 
		 * 
		 */
		@XmlAccessorType(XmlAccessType.FIELD)
		@XmlType(name = "", propOrder = { "paymentMeansCode", "bankCode", "sequenceCode", "monetaryAmount",
				"dateTime" })
		public static class Financiallist {

			@XmlElement(name = "PaymentMeansCode")
			protected String paymentMeansCode;
			@XmlElement(name = "BankCode")
			protected String bankCode;
			@XmlElement(name = "SequenceCode")
			protected String sequenceCode;
			@XmlElement(name = "MonetaryAmount")
			protected String monetaryAmount;
			@XmlElement(name = "DateTime")
			protected String dateTime;

			/**
			 * 获取paymentMeansCode属性的值。
			 * 
			 * @return possible object is {@link String }
			 * 
			 */
			public String getPaymentMeansCode() {
				return paymentMeansCode;
			}

			/**
			 * 设置paymentMeansCode属性的值。
			 * 
			 * @param value
			 *            allowed object is {@link String }
			 * 
			 */
			public void setPaymentMeansCode(String value) {
				this.paymentMeansCode = value;
			}

			/**
			 * 获取bankCode属性的值。
			 * 
			 * @return possible object is {@link String }
			 * 
			 */
			public String getBankCode() {
				return bankCode;
			}

			/**
			 * 设置bankCode属性的值。
			 * 
			 * @param value
			 *            allowed object is {@link String }
			 * 
			 */
			public void setBankCode(String value) {
				this.bankCode = value;
			}

			/**
			 * 获取sequenceCode属性的值。
			 * 
			 * @return possible object is {@link String }
			 * 
			 */
			public String getSequenceCode() {
				return sequenceCode;
			}

			/**
			 * 设置sequenceCode属性的值。
			 * 
			 * @param value
			 *            allowed object is {@link String }
			 * 
			 */
			public void setSequenceCode(String value) {
				this.sequenceCode = value;
			}

			/**
			 * 获取monetaryAmount属性的值。
			 * 
			 * @return possible object is {@link String }
			 * 
			 */
			public String getMonetaryAmount() {
				return monetaryAmount;
			}

			/**
			 * 设置monetaryAmount属性的值。
			 * 
			 * @param value
			 *            allowed object is {@link String }
			 * 
			 */
			public void setMonetaryAmount(String value) {
				this.monetaryAmount = value;
			}

			/**
			 * 获取dateTime属性的值。
			 * 
			 * @return possible object is {@link String }
			 * 
			 */
			public String getDateTime() {
				return dateTime;
			}

			/**
			 * 设置dateTime属性的值。
			 * 
			 * @param value
			 *            allowed object is {@link String }
			 * 
			 */
			public void setDateTime(String value) {
				this.dateTime = value;
			}

		}

		/**
		 * <p>
		 * anonymous complex type的 Java 类。
		 * 
		 * <p>
		 * 以下模式片段指定包含在此类中的预期内容。
		 * 
		 * <pre>
		 * &lt;complexType>
		 *   &lt;complexContent>
		 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
		 *       &lt;sequence>
		 *         &lt;element name="ShippingNoteNumber" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
		 *         &lt;element name="Remark" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
		 *       &lt;/sequence>
		 *     &lt;/restriction>
		 *   &lt;/complexContent>
		 * &lt;/complexType>
		 * </pre>
		 * 
		 * 
		 */
		@XmlAccessorType(XmlAccessType.FIELD)
		@XmlType(name = "", propOrder = { "shippingNoteNumber", "remark" })
		public static class ShippingNoteList {

			@XmlElement(name = "ShippingNoteNumber")
			protected String shippingNoteNumber;
			@XmlElement(name = "Remark")
			protected String remark;

			/**
			 * 获取shippingNoteNumber属性的值。
			 * 
			 * @return possible object is {@link String }
			 * 
			 */
			public String getShippingNoteNumber() {
				return shippingNoteNumber;
			}

			/**
			 * 设置shippingNoteNumber属性的值。
			 * 
			 * @param value
			 *            allowed object is {@link String }
			 * 
			 */
			public void setShippingNoteNumber(String value) {
				this.shippingNoteNumber = value;
			}

			/**
			 * 获取remark属性的值。
			 * 
			 * @return possible object is {@link String }
			 * 
			 */
			public String getRemark() {
				return remark;
			}

			/**
			 * 设置remark属性的值。
			 * 
			 * @param value
			 *            allowed object is {@link String }
			 * 
			 */
			public void setRemark(String value) {
				this.remark = value;
			}

		}

	}

	/**
	 * <p>
	 * anonymous complex type的 Java 类。
	 * 
	 * <p>
	 * 以下模式片段指定包含在此类中的预期内容。
	 * 
	 * <pre>
	 * &lt;complexType>
	 *   &lt;complexContent>
	 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
	 *       &lt;sequence>
	 *         &lt;element name="MessageReferenceNumber" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
	 *         &lt;element name="DocumentName" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
	 *         &lt;element name="DocumentVersionNumber" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
	 *         &lt;element name="SenderCode" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
	 *         &lt;element name="RecipientCode" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
	 *         &lt;element name="MessageSendingDateTime" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
	 *         &lt;element name="MessageFunctionCode" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
	 *       &lt;/sequence>
	 *     &lt;/restriction>
	 *   &lt;/complexContent>
	 * &lt;/complexType>
	 * </pre>
	 * 
	 * 
	 */
	@XmlAccessorType(XmlAccessType.FIELD)
	@XmlType(name = "", propOrder = { "messageReferenceNumber", "documentName", "documentVersionNumber", "senderCode",
			"recipientCode", "messageSendingDateTime", "messageFunctionCode" })
	public static class Header {

		@XmlElement(name = "MessageReferenceNumber")
		protected String messageReferenceNumber;
		@XmlElement(name = "DocumentName")
		protected String documentName;
		@XmlElement(name = "DocumentVersionNumber")
		protected String documentVersionNumber;
		@XmlElement(name = "SenderCode")
		protected String senderCode;
		@XmlElement(name = "RecipientCode")
		protected String recipientCode;
		@XmlElement(name = "MessageSendingDateTime")
		protected String messageSendingDateTime;
		@XmlElement(name = "MessageFunctionCode")
		protected String messageFunctionCode;

		/**
		 * 获取messageReferenceNumber属性的值。
		 * 
		 * @return possible object is {@link String }
		 * 
		 */
		public String getMessageReferenceNumber() {
			return messageReferenceNumber;
		}

		/**
		 * 设置messageReferenceNumber属性的值。
		 * 
		 * @param value
		 *            allowed object is {@link String }
		 * 
		 */
		public void setMessageReferenceNumber(String value) {
			this.messageReferenceNumber = value;
		}

		/**
		 * 获取documentName属性的值。
		 * 
		 * @return possible object is {@link String }
		 * 
		 */
		public String getDocumentName() {
			return documentName;
		}

		/**
		 * 设置documentName属性的值。
		 * 
		 * @param value
		 *            allowed object is {@link String }
		 * 
		 */
		public void setDocumentName(String value) {
			this.documentName = value;
		}

		/**
		 * 获取documentVersionNumber属性的值。
		 * 
		 * @return possible object is {@link String }
		 * 
		 */
		public String getDocumentVersionNumber() {
			return documentVersionNumber;
		}

		/**
		 * 设置documentVersionNumber属性的值。
		 * 
		 * @param value
		 *            allowed object is {@link String }
		 * 
		 */
		public void setDocumentVersionNumber(String value) {
			this.documentVersionNumber = value;
		}

		/**
		 * 获取senderCode属性的值。
		 * 
		 * @return possible object is {@link String }
		 * 
		 */
		public String getSenderCode() {
			return senderCode;
		}

		/**
		 * 设置senderCode属性的值。
		 * 
		 * @param value
		 *            allowed object is {@link String }
		 * 
		 */
		public void setSenderCode(String value) {
			this.senderCode = value;
		}

		/**
		 * 获取recipientCode属性的值。
		 * 
		 * @return possible object is {@link String }
		 * 
		 */
		public String getRecipientCode() {
			return recipientCode;
		}

		/**
		 * 设置recipientCode属性的值。
		 * 
		 * @param value
		 *            allowed object is {@link String }
		 * 
		 */
		public void setRecipientCode(String value) {
			this.recipientCode = value;
		}

		/**
		 * 获取messageSendingDateTime属性的值。
		 * 
		 * @return possible object is {@link String }
		 * 
		 */
		public String getMessageSendingDateTime() {
			return messageSendingDateTime;
		}

		/**
		 * 设置messageSendingDateTime属性的值。
		 * 
		 * @param value
		 *            allowed object is {@link String }
		 * 
		 */
		public void setMessageSendingDateTime(String value) {
			this.messageSendingDateTime = value;
		}

		/**
		 * 获取messageFunctionCode属性的值。
		 * 
		 * @return possible object is {@link String }
		 * 
		 */
		public String getMessageFunctionCode() {
			return messageFunctionCode;
		}

		/**
		 * 设置messageFunctionCode属性的值。
		 * 
		 * @param value
		 *            allowed object is {@link String }
		 * 
		 */
		public void setMessageFunctionCode(String value) {
			this.messageFunctionCode = value;
		}

	}

}
